[FIX][SCHEMA] Phenotype subjects are a subset of participants.tsv - #2468
Conversation
The existing check required a superset relation. Probably not frequently hit because equality will be the norm.
psadil
left a comment
There was a problem hiding this comment.
lgtm regarding this change now expressing a subset. But, doesn't the message imply a set difference? I interpret the message as being equivalent to "The phenotype/ .tsv file contains subjects absent from participants.tsv (participant_id column)." Should it instead be something like "The phenotype/ .tsv file contains some (possibly all) participants listed in participants.tsv (participant_id column)."
|
I think the existing diagnostic is consistent with the corrected relation. The validity condition is P_phenotype ⊆ P_participants, while the failure condition is P_phenotype \ P_participants ≠ ∅. So saying that the phenotype TSV contains subjects absent from participants.tsv describes the error correctly. “A phenotype TSV contains participant_id values that are absent from participants.tsv.” |
Ah, of course! Thanks for spelling that out. |
|
Thanks for having a look, both! |
* master: (27 commits) enh(metaschema): require and constrain `inherit` in associations + provide it for atlas _description.json (bids-standard#2479) chore: Bump schema package to 1.2.8-dev chore: Bump schema package to 1.2.7 fix(ci): Drop test.pypi.org publication chore: Bump schema package to 1.2.7-dev chore: Bump schema package to 1.2.6 fix(ci): Fix download-artifact target chore: Bump schema package to 1.2.6-dev chore: Bump schema package to 1.2.5 [SCHEMA] Warn when *_beh.tsv contains onset and duration (bids-standard#2467) [FIX][SCHEMA] Phenotype subjects are a subset of participants.tsv (bids-standard#2468) [INFRA] Add Bluesky social link, drop Twitter (bids-standard#2470) [INFRA] Skip link check for encodeproject.org URLs (bids-standard#2469) [SCHEMA] Warn when *_beh.tsv contains onset and duration (bids-standard#2467) DOC: fix URL to Code of Conduct (bids-standard#2464) [ENH] Move PET DICOM correspondences into term definitions (bids-standard#2298) [ENH] Render phenotype sidecar table from schema (bids-standard#2324) [FIX] Replace non-existent `len` with existent `length` (bids-standard#2466) chore(deps): bump soupsieve from 2.8 to 2.8.4 [pre-commit.ci] pre-commit autoupdate ...
The existing check required a superset relation. Probably not frequently hit because equality will be the norm.
Note that the error message implies a subset relation, and that was the intent in #2044.
Bug introduced in 1ff73de when moving away from an aggregated
dataset.subjects.phenotypefield.